/*
 * LEDLight.h
 *
 * This class models LED indicators for the wheel
 * motion sensor, auto/manual mode and measurement unit.
 *
 * Author: Zachary Masiello
 * Author: Peter-John Rowe
 */

#ifndef LEDLIGHT_H_
#define LEDLIGHT_H_
#include "LEDPort.h"

class LEDLight
{
public:
	// Constructor
	LEDLight(LEDPort *);
	// Destructor
	virtual ~LEDLight();
	// For thread to control all the LED indicators
	static void* run(LEDLight *);
	// Sets the measurement units indicator
	void setUnitLightOnOff(bool);
	// Sets the wheel motion sensor indicator
	void setWheelLightBlink(bool);
	// Sets the auto/manual indicator
	void autoLightStatus(char);
private:
	// IOPort interface for the LED lights
	LEDPort *ledPort;
	// Stores the status of the measurement units indicator
	bool unitLightOn;
	// Stores the status of the wheel motion sensor indicator
	bool wheelLightBlink;
	// Stores the status of the auto/manual indicator
	char autoLight; //o=on, b=blink, n=notOn


};

#endif /* LEDLIGHT_H_ */
